The background section provided herein is for the purpose of generally presenting the context of the disclosure. Unless otherwise indicated herein, the materials described in this section are not prior art to the claims in this application and are not admitted to be prior art by inclusion in this section.
Human visual systems are versatile and flexible, capable of identifying objects in a dynamic real world environment. Rapid and accurate object recognition is achieved even though parts of the human visual system (e.g., eyes) may be fatigued, humans are unable to process information at high speeds, there is limited object information to process, and/or the inability to memorize large amount of information at any given time.
Attempts to replicate human object recognition capabilities using computers have been of limited success. Some object recognition algorithms identify objects in an image or video by extracting landmarks, or features, from the image or video. Such object recognition algorithms may be referred to as geometric algorithms. For example, geometric facial recognition algorithm may identify facial features by extracting landmarks/features from an image of a human face, and may analyze the relative position, size, and/or shape of the eyes, nose, cheekbones, jaw, lips, and/or other facial features of the human face in the image (the person or object in an image may be referred to as the “subject of the image” or “subject”, and the image representing the person or object to be identified may be referred to as a “subject image”). However, geometric algorithms typically require high resolution and/or low noise images in order to properly detect objects or facial features within the image. Additionally, geometric facial recognition algorithms usually require a complete picture of a subject in order to determine the relative position, size, and/or shape of the facial features of the subject. Furthermore, such algorithms typically require a relatively large set of sample images upon which to compare any identify object against in order to determine the identity of a subject. Moreover, geometric facial recognition algorithms may encounter errors when the subject image has different dimensions than the dimensions of a sample set of images. In such instances, the subject image may have to be translated (for example, scaled, rotated, skewed, and the like) to fit the dimensions of sample images.
Object recognition is further complicated when used in the context of image searching. Most of the object recognition algorithms are directed to recognition of whole objects. Searching for an object based on detection or input of only a part of the object is more complex than when the whole object is provided as the input. Searching based on partial object inputs is even more difficult when the inputs are of potentially arbitrary partial objects, overlapping pieces of partial objects, and/or non-overlapping pieces of partial objects.